package vip.caressing.service;

public interface Queue<E> {

    /**
     * 用于统计队列元素的个数
     *
     * @return 队列元素的个数
     */
    int size();

    /**
     * 用于判断队列是否为空
     *
     * @return 队列是否为空
     */
    boolean isEmpty();

    /**
     * 新元素假如队尾
     *
     * @param element 新元素
     */
    void enqueue(E element);

    /**
     * 队首元素出队
     *
     * @return 队首元素
     */
    E dequeue();

    /**
     * 获取队首元素，但不出队
     *
     * @return 队首元素
     */
    E front();

}